package com.atguigu.cloud.apis;

import com.atguigu.cloud.entities.PayDTO;
import com.atguigu.cloud.resp.ResultData;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

/**
 * ClassName: PayFeignApi
 * Package: com.atguigu.cloud.apis
 * Description: 支付服务的Feign接口
 * Author: 雷建国
 * Create: 2024/3/13 14:02
 * Version: 1.0
 */
//@FeignClient(value = "cloud-payment-service") //核心注解，Feign客户端注解，value必须是你所需要具体访问的服务端，否则接口方法映射不了
@FeignClient(value = "cloud-gateway") //限制feign去对解网关，否则网关会被绕开
public interface PayFeignApi {

    //建立与服务端相同的方法（包括注解、地址、参数），消费者调用这些被暴露的接口来访问到服务端
    @PostMapping(value = "/pay/add")
    public ResultData addPay(@RequestBody PayDTO payDTO);

    //建立与服务端相同的方法（包括注解、地址、参数），消费者调用这些被暴露的接口来访问到服务端
    @DeleteMapping(value = "/pay/del/{id}")
    public ResultData deletePay(@PathVariable("id") Integer id);

    @PutMapping(value = "/pay/update")
    public ResultData updatePay(@RequestBody PayDTO payDTO);

    @GetMapping(value = "/pay/get/{id}")
    public ResultData getById(@PathVariable("id") Integer id);

}
